package com.naiterui.ehp.bs.esign.api.vo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

/**
 * 医网信-签名结果回调VO
 * @author guoyongxiang
 * @date 2019/11/23 17:28
 * @since 1.0.0
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString
public class SignCallbackVO implements Serializable {

    /** 签名状态-已签名 {@value} */
    public final static Integer STATUS_SIGNED = 2;
    /** 签名状态-拒绝 {@value} */
    public final static Integer STATUS_REJECT = 6;
    /** 签名状态-过期删除 {@value} */
    public final static Integer STATUS_EXPIRE = 7;
    /** 签名状态-作废 {@value} */
    public final static Integer STATUS_CANCEL = 9;
    private static final long serialVersionUID = 3676588339926593458L;

    /**
     * 处方ID
     */
    private String urId;

    /**
     * 医网信处方唯一标识
     */
    private String uniqueId;

    /**
     * 签名订单状态(2 已签名6 拒绝签名 7 签名订单已过期删除 9 已签名订单作废)
     */
    private Integer status;

    /**
     * 处方哈希的P7 签名（仅在签名成功时回调）
     */
    private String signedData;

    /**
     * pdf 文件流（base64 编码，（仅在pdf 签名成功状态时回调））
     */
    private String signedPdfBase64;

    /**
     * 签名文件地址
     */
    private String signedPdfPath;
    /**
     * 拒绝签名原因（仅在拒绝签名状态时回调）
     */
    private String reason;

    /**
     * 签名医师openId
     */
    private String openId;

    /**
     * 签名图片地址：固化
     */
    private String sealImage;

    /**
     * 签署时间
     */
    private Date signTime;

}
